package com.rose.doorto.footbathdoor.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.rose.doorto.footbathdoor.pojo.Order;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * <p>
 *  Mapper 订单接口
 * </p>
 *
 * @author lqc
 * @since 2024-07-23
 */
public interface OrderMapper extends BaseMapper<Order> {

    /**
     * 获取当前用户所有订单
     * @return
     */
    List<Order> findAllByUserId(String userId);

    /**
     * 创建订单
     * @param order
     * @return
     */
    int addOrders(Order order);

    /**
     * 根据订单状态获取指定的订单
     * @param status
     * @return
     */
    List<Order> getOrderByStatus(int status,int userId);

    /**
     * 查看订单详情
     * @param orderSn
     * @return
     */
    Order getOrderByOrderSn(String orderSn);

    /**
     * 根据项目名称进行模糊查询
     * @return
     */
    List<Order> findOrderByLikeProject(String projectName,String userId);

    /**
     * 查询指定时间范围内的订单
     * @param code
     * @return
     */
    List<Order> getOrderByCreatime(int code,int userId);

//    IPage<Order> selectPageVo(PageParam pageParam);
    //修改订单状态为已支付
    @Update("update `order` set status = #{status} where order_sn=#{orderSn}")
    boolean updateOrderPayStatus(@Param("orderSn") String orderSn, @Param("status") Integer status);

    //修改订单的支付方式
    boolean updateOrderPayType(@Param("orderSn") String orderSn,@Param("payType") int payType);
}
